#pragma once
#include "IGameState.h"
#include <vector>
#include "../SGD Wrappers/SGD_String.h"
#include "../SGD Wrappers/SGD_GraphicsManager.h"
#include <string>

class BitmapFont;

class CustomState : public IGameState
{
public:
	static CustomState* GetInstance();

	void	Enter();
	void	Exit();
	void	Update(float dt);
	void	Render();
	bool	Input();
	std::string	GetMapName() const {return m_szMap;}

private:

	CustomState() = default;
	~CustomState() = default;

	CustomState(const CustomState&) = delete;
	CustomState operator = (const CustomState&) = delete;

	int							m_nCursor;
	unsigned int				m_nStart;
	unsigned int				m_nEnd;
	float						m_fTimer;
	std::vector<SGD::String>	m_szItems;
	SGD::String					m_szHeader;
	std::string				m_szMap;
	SGD::HTexture		m_hBackground = SGD::INVALID_HANDLE;

	BitmapFont* pFont;

};